package com.dwy2002.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dwy2002.common.Result;
import com.dwy2002.pojo.dto.product.ProductsImagesDTO;
import com.dwy2002.pojo.po.product.ProductImages;
import com.dwy2002.pojo.vo.UploadImagesVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/02/17
 */
public interface IProductImagesService extends IService<ProductImages> {
    /**
     * 保存商品图片
     *
     * @param images 图片集合DTO
     * @return true：保存成功，false：保存失败
     * @author 杜伟毅
     * @since 2025/2/24 0024 21:27
     */
    boolean saveProductImage(ProductsImagesDTO images);

    /**
     * 删除商品图片(系统用)
     *
     * @param productIds 商品id集合
     * @author 杜伟毅
     * @since 2025/3/2 0002 16:41
     */
    void deleteBathImage(List<String> productIds);

    /**
     * 删除商品图片
     *
     * @param imgId 图片id
     * @author 杜伟毅
     * @since 2025/3/2 0002 16:41
     */
    Result<Void> deleteImage(String imgId);


    /**
     * 用于上传商品图片
     *
     * @param images 图片文件
     * @author 杜伟毅
     * @since 2025/2/24 0024 0:17
     */
    Result<List<UploadImagesVO>> uploadProductImages(List<MultipartFile> images) throws IOException;
}
